package com.yict.csms.company.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.yict.csms.company.entity.Contract;
import com.yict.csms.system.entity.BudgetNum;
import com.yict.csms.system.entity.DataDict;
import com.yict.csms.system.entity.Profession;
import com.yict.csms.system.entity.User;

/**
 * 合同费率表Entity
 * 
 * @author Patrick.Deng
 * 
 */
@Entity
@Table(name = "CSMS_CONTRACT_RATE")
public class ContractRate {

	@Id
	@Column(name = "RATEID")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "csms_contractRate_seq")
	@SequenceGenerator(name = "csms_contractRate_seq", sequenceName = "SEQ_CSMS_CONTRACT_RATE", allocationSize = 1, initialValue = 1)
	private Long rateId;

	@ManyToOne
	@JoinColumn(name = "COMPANYID")
	private Company company;

	@ManyToOne
	@JoinColumn(name = "CONTRACTID")
	private Contract contract;

	@Column(name = "ISADDITIONAL")
	private String isAdditional;

	@Column(name = "EFFECTIVEDATE")
	private Date effectiveDate;

	@Column(name = "EXPIRATIONDATE")
	private Date expirationDate;

	@ManyToOne
	@JoinColumn(name = "PROFEID")
	private Profession profession;

	@Column(name = "CHECKNO")
	private String checkNo;

	@ManyToOne
	@JoinColumn(name = "NUMID")
	private BudgetNum budgetNum;

	@Column(name = "ADDFORHOLIDAY")
	private double addforHoliday;

	@Column(name = "STARTQUAN")
	private double startquan;

	@Column(name = "ENDQUAN")
	private double endquan;

	@Column(name = "RATE")
	private double rate;

	@Column(name = "RATESTUTAS")
	private String ratestutas;

	@Column(name = "CURRENCY")
	private String currency;

	@Column(name = "REMARKS")
	private String remarks;

	@Column(name = "UNIT")
	private String unit;
	
	@Column(name = "CREATEDATE")
	private Date createDate;

	@Column(name = "UPDATEDATE")
	private Date updateDate;

	@ManyToOne
	@JoinColumn(name = "CREATEPEROSN")
	private User createPerson;

	@ManyToOne
	@JoinColumn(name = "UPDATEPERSON")
	private User updatePerson;

	public Long getRateId() {
		return rateId;
	}

	public void setRateId(Long rateId) {
		this.rateId = rateId;
	}

	public Company getCompany() {
		return company;
	}

	public void setCompany(Company company) {
		this.company = company;
	}

	public Contract getContract() {
		return contract;
	}

	public void setContract(Contract contract) {
		this.contract = contract;
	}

	public String getIsAdditional() {
		return isAdditional;
	}

	public void setIsAdditional(String isAdditional) {
		this.isAdditional = isAdditional;
	}

	public Date getEffectiveDate() {
		return effectiveDate;
	}

	public void setEffectiveDate(Date effectiveDate) {
		this.effectiveDate = effectiveDate;
	}

	public Date getExpirationDate() {
		return expirationDate;
	}

	public void setExpirationDate(Date expirationDate) {
		this.expirationDate = expirationDate;
	}

	public Profession getProfession() {
		return profession;
	}

	public void setProfession(Profession profession) {
		this.profession = profession;
	}

	public String getCheckNo() {
		return checkNo;
	}

	public void setCheckNo(String checkNo) {
		this.checkNo = checkNo;
	}

	public BudgetNum getBudgetNum() {
		return budgetNum;
	}

	public void setBudgetNum(BudgetNum budgetNum) {
		this.budgetNum = budgetNum;
	}

	public double getAddforHoliday() {
		return addforHoliday;
	}

	public void setAddforHoliday(double addforHoliday) {
		this.addforHoliday = addforHoliday;
	}

	public double getStartquan() {
		return startquan;
	}

	public void setStartquan(double startquan) {
		this.startquan = startquan;
	}

	public double getEndquan() {
		return endquan;
	}

	public void setEndquan(double endquan) {
		this.endquan = endquan;
	}

	public double getRate() {
		return rate;
	}

	public void setRate(double rate) {
		this.rate = rate;
	}

	public String getRatestutas() {
		return ratestutas;
	}

	public void setRatestutas(String ratestutas) {
		this.ratestutas = ratestutas;
	}

	public String getCurrency() {
		return currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getUnit() {
		return unit;
	}

	public void setUnit(String unit) {
		this.unit = unit;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getUpdateDate() {
		return updateDate;
	}

	public void setUpdateDate(Date updateDate) {
		this.updateDate = updateDate;
	}

	public User getCreatePerson() {
		return createPerson;
	}

	public void setCreatePerson(User createPerson) {
		this.createPerson = createPerson;
	}

	public User getUpdatePerson() {
		return updatePerson;
	}

	public void setUpdatePerson(User updatePerson) {
		this.updatePerson = updatePerson;
	}
}
